Skip to content

Comments

refactor(web): rework correction heuristic and thresholding toward multi-tokenization support 🚂#14916

Merged
jahorton merged 5 commits intoepic/autocorrectfrom
refactor/web/correction-heuristic-and-thresholding
Jan 21, 2026
Merged

refactor(web): rework correction heuristic and thresholding toward multi-tokenization support 🚂#14916
jahorton merged 5 commits intoepic/autocorrectfrom
refactor/web/correction-heuristic-and-thresholding

Conversation

@jahorton
Copy link
Contributor

@jahorton jahorton commented Oct 9, 2025

This change simplifies the search-queuing mechanisms of the SearchSpace type by eliminating its internal two-tiered PriorityQueue pattern in favor of using a single priority queue to select the best available path. To do so, this does get rid of a mild boost that has assisted the correction-search process in prioritizing nearly-completed correction paths, but we should rework that heuristic anyway - especially in light of upcoming changes and potential complications once we start supporting correction from alternate tokenizations.

To facilitate our existing path cost-thresholding behaviors, which prune high-cost paths permanently from further consideration, we now track maximum individual probability for any one input in the full, source fat-finger distribution. For some tokenizations, the corresponding input will not be considered, but that should not affect thresholding behaviors.

Build-bot: skip build:web
Test-bot: skip

This PR is comprised as two commits that could be split into separate PRs, but the second commit restores something the first commit temporarily needed to disable, hence the link.

@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Oct 9, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot bot changed the title refactor(web): rework correction heuristic and thresholding toward multi-tokenization support refactor(web): rework correction heuristic and thresholding toward multi-tokenization support 🚂 Oct 9, 2025
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S13 milestone Oct 9, 2025
@github-project-automation github-project-automation bot moved this to Todo in Keyman Oct 9, 2025
@jahorton jahorton force-pushed the refactor/web/correction-heuristic-and-thresholding branch from 04094a4 to d544b55 Compare October 9, 2025 15:29
@darcywong00 darcywong00 modified the milestones: A19S13, A19S14 Oct 11, 2025
This change simplifies the mechanics of each SearchSpace by dropping the complexity of managing an intermediate tier.  This does get rid of a mild boost that assistss the correction-search process in prioritizing nearly-completed correction paths, but we should rework that heuristic anyway - especially in light of upcoming changes and potential complications once we start supporting correction from alternate tokenizations.

Build-bot: skip build:web
Test-bot: skip
We now track maximum individual probability for any one input in the full, source fat-finger distribution.  For some tokenizations, the corresponding input will not be considered, but that should not affect thresholding behaviors.

Build-bot: skip build:web
Test-bot: skip
@jahorton jahorton force-pushed the refactor/web/correction-heuristic-and-thresholding branch from d544b55 to 1df3a35 Compare October 17, 2025 15:02
@jahorton jahorton changed the base branch from feat/web/search-space-identifiers to change/web/remove-tracker-analyze-state October 17, 2025 15:02
Base automatically changed from change/web/remove-tracker-analyze-state to epic/autocorrect October 20, 2025 13:37
@darcywong00 darcywong00 modified the milestones: A19S14, A19S15 Oct 24, 2025
@keyman-server keyman-server modified the milestones: A19S15, A19S16 Nov 8, 2025
@jahorton jahorton marked this pull request as ready for review November 12, 2025 19:59
@keyman-server keyman-server modified the milestones: A19S16, A19S17 Nov 22, 2025
@keyman-server keyman-server modified the milestones: A19S17, A19S18 Dec 6, 2025
@keyman-server keyman-server modified the milestones: A19S18, A19S19 Dec 21, 2025
@keyman-server keyman-server modified the milestones: A19S19, A19S20 Jan 3, 2026
@keyman-server keyman-server modified the milestones: A19S20, A19S21 Jan 16, 2026
@jahorton jahorton merged commit 20d7855 into epic/autocorrect Jan 21, 2026
7 of 8 checks passed
@jahorton jahorton deleted the refactor/web/correction-heuristic-and-thresholding branch January 21, 2026 21:56
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants